var groupDetail = {
	groupData : {},
	ztreeInstance: null,
	validateFields : {
		groupName : {
			validators : {
				notEmpty : {
					message : '组织机构名称不能为空'
				}
			}
		},
		pid : {
			validators : {
				notEmpty : {
					message : '上级机构名称不能为空'
				}
			}
		}
	},
	// 清空数据
	clearData : function() {
		this.groupData = {};
	},
	// 关闭窗口
	close : function() {
		parent.layer.close(window.parent.Group.layerIndex);
	},
	// 设置参数
	setData : function(key, value) {
		this.groupData[key] = (typeof value == "undefined") ? $("#" + key).val()
				: value;
		return this;
	},
	// 获取对应值
	getData : function(key) {
		return $("#" + key).val();
	},
	// 一次性设置所有的参数
	collectData : function() {
		this.setData('id').setData('groupName').setData('pid').setData('isEnable');
	},
	// 校验参数是否为空
	validate : function() {
		$('#groupDetail').data("bootstrapValidator").resetForm();
		$('#groupDetail').bootstrapValidator('validate');
		return $("#groupDetail").data('bootstrapValidator').isValid();
	},
	//显示 树形结构
	showGroupTree : function(){
		Base.showInputTree("pname", "ztreeDiv", 15, 34);
	},
	//点击树节点
	clickGroupTree : function(e, treeId, treeNode){
		$("#parentName").attr("value", groupDetail.ztreeInstance.getSelectedVal());
	    $("#pid").attr("value", treeNode.id);
	},
	//提交ajax
	submit : function(action) {
		var succesInfo = "";
		var errorInfo = "";
		var url = "";
		if (action == 'add') {
			succesInfo = "添加成功!";
			errorInfo = "添加失败!";
			url = '/sysGroup/add';
		} else if (action == 'edit') {
			succesInfo = "修改成功!";
			errorInfo = "修改失败!";
			url = '/sysGroup/edit';
		} else {
			Base.error('执行方法错误!');
			return;
		}

		this.clearData(); // 清理数据
		this.collectData(); // 设置所有值

		if (!this.validate()) { // 校验参数
			return;
		}
		var ajax = new $ajax(Base.adminPath + url, function(data) {
			if(data.status){
				Base.success(data.data);
				window.parent.Group.table.refresh(); // 刷新列表
				groupDetail.close();
			}else{
				Base.error(data.message);
			}
		}, function(data) {
			Base.error(errorInfo);
		});
		ajax.set(this.groupData);
		ajax.start();
	}
}

$(function() {
	Base.initValidator("groupDetail", groupDetail.validateFields);
	
	var ztree = new $ZTree("pidTree", Base.adminPath + "/sysGroup/ztreeList");
    ztree.bindOnClick(groupDetail.clickGroupTree);
    ztree.init();
    groupDetail.ztreeInstance = ztree;
	
	if(isEnable){
        $("#isEnable").val(isEnable);
    }else{
        $("#isEnable").val(1);
    }
	if(pid){
		var node = ztree.setDefalutVal('id',pid);
		$('#parentName').val(node.name);
		$('#pid').val(node.id);
	}

})